/**
 * @Description: Bean生命周期相关注解
 * @Author: Mark
 * @CreateDate: 2019/9/17 21:06
 * @Version: 3.00.001
 * @Copyright : 豆浆油条个人非正式工作室
 *
 * Bean的生命周期:Bean创建 -> 初始化 -> 销毁;该生命周期是IOC容器管理的
 *
 * 对象的实例化（调用构造函数）
 *  如果Bean声明为单例，那么会在IOC容器启动的时候，创建对象
 *  如果Bean声明为多例，在每次获取对象的时候会创建对象
 *
 * 初始化（ 或 ）
 *  1.@Bean(initMethod="XX")
 *  2.JSR250：@PostConstruct 对象创建完成，并赋好值，调用初始化方法
 *  3.InitializingBean  完成Bean属性的初始化后调用
 *
 * 销毁
 *  1.@Bean(destroyMethod="XX")
 *      单例：容器关闭的时候
 *      多例：容器不会调用销毁方法
 *  2.JSR250：@PreDestroy）
 *  3.DisposableBean
 *
 * @see com.mark.spring.annotation.life.cycle.init.destroy.InitDestoryBootstrap initMethod和destroyMethod的声明使用
 * @see com.mark.spring.annotation.life.cycle.postconstruct.PostConstructBootstrap @PostConstruct
 * @see com.mark.spring.annotation.life.cycle.predestroy.PreDestroyBootstrap @PreDestroy
 * @see com.mark.spring.annotation.life.cycle.init.disp InitializingBean#afterPropertiesSet() 和 DisposableBean#destroy()的使用
 * @see com.mark.spring.annotation.life.cycle.beanpostprocessor BeanPostProcessor后置处理器的使用
 *
 *
 */
package com.mark.spring.annotation.life.cycle;